/**
 * auth:lipeng
 * modify:2016-08-23 18:30
 * email:lpjustdoit@163.com
 * 
 * 该扩展的封装是基于 layer-v2.4 以上 jquery-1.10以上
 *
 * $("#id1").verify_confirm({url:'1.php',callback:demo,type:'json'}); //需要确认按钮 确认后在请求后端
 *
 *$("#id1").verify_no_confirm({url:'1.php',callback:demo}); //不需要确认按钮直接请求后端
 *
 * $("#id1").verify_prompt_confirm({url:'1.php',param:{name:'lisi'},callback:demo,type:'json',formType:2}); //输入请求类容
 */
;(function($){
    $.fn.extend({
        'verify_confirm':function(option){
            var $this = this;
            $.fn.verify_confirm.defaults = {
                param:{},
                callback:function(res){
                    if(res.status){
                        layer.msg(res.info,{icon: 6});
                    }else{
                        layer.msg(res.info,{icon: 5});
                    }
                },
               type:'json',
               url:''
            };
            option = $.extend($.fn.verify_confirm.defaults, option);
//                undefined, number, string, boolean,function,object
            if((typeof option) != 'object'){console.error('param is not a object');return false;}
            if(((typeof option.url) == 'string') && (option.url.length > 0)){
                var url = option.url;
            }else{
                console.error('param url is must'); return false;
            }
            layer.confirm('确定此操作?', {
                    btn: ['确定','取消'] //按钮
                }, function(index_confirm){
                    layer.close(index_confirm);
                    var load_index = layer.load(2, {time: 30*1000}); //又换了种风格，并且设定最长等待30秒
                    $.post(url,option.param,function (res) {
                        layer.close(load_index);
                        option.callback(res);
                    },option.type);
                });
        },
        'verify_no_confirm':function(option){
            var $this = this;
            $.fn.verify_no_confirm.defaults = {
                param:{},
                callback:function(res){
                    if(res.status){
                        layer.msg(res.info,{icon: 6});
                    }else{
                        layer.msg(res.info,{icon: 5});
                    }
                },
                type:'json'
            };
            option = $.extend($.fn.verify_no_confirm.defaults, option);
//                undefined, number, string, boolean,function,object
            if((typeof option) != 'object'){console.error('param is not a object');return false;}

            if(((typeof option.url) == 'string') && (option.url.length > 0)){
                var url = option.url;
            }else{
                console.error('param url is must'); return false;
            }
            var load_index = layer.load(2, {time: 30*1000}); //又换了种风格，并且设定最长等待30秒
            $.post(url,option.param,function (res) {
                layer.close(load_index);
                option.callback(res);
            },option.type);
        },
        'verify_prompt_confirm':function(option){
            var $this = this;
            $.fn.verify_prompt_confirm.defaults = {
                param:{},
                prompt_key:'prompt_key', //弹出框内容key
                title:'请输入内容',  //弹出框标题
                formType: 1, //输入框类型，支持0（文本）默认1（密码）2（多行文本）
                value: '', //初始时的值，默认空字符
                maxlength: 140, //可输入文本的最大长度，默认500
                callback:function(res){
                    if(res.status){
                        layer.msg(res.info,{icon: 6});
                    }else{
                        layer.msg(res.info,{icon: 5});
                    }
                },
                type:'json'
            };
            option = $.extend($.fn.verify_prompt_confirm.defaults, option);
//                undefined, number, string, boolean,function,object
            if((typeof option) != 'object'){console.error('param is not a object');return false;}

            if(((typeof option.url) == 'string') && (option.url.length > 0)){
                var url = option.url;
            }else{
                console.error('param url is must'); return false;
            }
            layer.prompt(
                    {
                        title:option.title,
                        formType: option.formType, //输入框类型，支持0（文本）默认1（密码）2（多行文本）
                        value: option.value, //初始时的值，默认空字符
                        maxlength: option.maxlength //可输入文本的最大长度，默认500
                    },
                    function(value, index, elem){
                        var load_index = layer.load(2, {time: 30*1000}); //又换了种风格，并且设定最长等待30秒
                        var key = option.prompt_key;
                        option.param[key] = value;
                        layer.close(index);    //关闭输入框
                        $.post(url,option.param,function (res) {
                            layer.close(load_index);
                            option.callback(res);
                        },option.type);
                });
        }
    });

    $.extend({
        current_href:function(){ //当前完整url
            return window.location.href;
        },
        protocol:function () { //协议
            return window.location.protocol;
        },
        host:function () { //主机
            return window.location.host;
        },
        hostname:function () {//主机名称
            return window.location.hostname;
        },
        port:function () { //端口
            return window.location.port
        },
        search:function () { //url问号以后的请求参数
            return window.location.search;
        },
        log:function(){ //相当于 console.log() 但是可以传入多个参数 参数不限制
            for(var i=0;i<arguments.length;i++){
                console.info(arguments[i]);
            }
        }
    });

})(jQuery);
